package ModelLayer;

import java.text.DateFormat;
import java.util.HashMap;


/**
 * Write a description of class Ordre here.
 * 
 * @author (Gruppe 1) 
 * @version (17.12.2012)
 */
public class Ordre
{
    // instance variables - replace the example below with your own
    private int id;
    private DateFormat dato;
    private boolean erBetalt;
    private String status;
    private int kundeId;
    private HashMap<Integer, Integer> varer;

    /**
     * Constructor for objects of class Ordre
     */
    public Ordre(int id, DateFormat dato, boolean erBetalt, String status, int kundeId)
    {
        this.id = id;
        this.dato = dato;
        this.erBetalt = erBetalt;
        this.status = status;
        this.kundeId = kundeId;
        this.varer = new HashMap<Integer, Integer>();
    }

    /**
     *Få ID fra ordre
     *
     *@return int getId - Order Id
     */
    public int getId()
    {
        return id;
    }
    /**
     * Få datoen for orderen
     * 
     * @return dateformat getDato - Orderens dato
     */
    public DateFormat getDato()
    {
        return dato;
    }
    /**
     * Tilføj orderens dato
     * 
     * @param DateFormat dato - Orderens dato
     */
    public void setDato(DateFormat dato)
    {
        this.dato = dato;
    }
    /**
     * Find ud af om kunden har betalt
     * 
     * @return erBetalt - Returnere betalingsstatus.
     */
    public boolean erBetalt()
    {
        return erBetalt;
    }
    /**
     * Bestem betalingsstatus 
     * 
     * @param boolean erBetalt - Betalings status
     */
    public void setBetalt(boolean erBetalt)
    {
        this.erBetalt = erBetalt;
    }
    /**
     * Få status på ordre
     * 
     * @return String getStatus - returnere Ordre status
     */
    public String getStatus()
    {
        return status;
    }
    /**
     * Tilføj status på ordren
     * 
     * @param String status - Ordre status
     */
    public void setStatus(String status)
    {
        this.status = status;
    }
    /**
     * Få kunde id.
     * 
     * @param return kundeId - returner Kundens Id
     */
    public int getKundeId()
    {
        return kundeId;
    }
    /**
     * Bestem kunde id
     * 
     * @param int kundeId - Kundens Id
     */
    public void setKundeId(int kundeId)
    {
        this.kundeId = kundeId;
    }
    /**
     * Tilføj vare og antal, hvis varen ikke findes returneres null
     * 
     * @param int vareId, int amount - Vare og antal
     */
    public void addVare(int vareId, int amount) 
    {
        int v = amount;
        if(!(varer.get(vareId) == null)){
            v = varer.get(vareId) +1;
            }
        varer.put(vareId, v);
    }
    /**
     * Fjern vare vha. VareId
     * 
     * @param int vareId - Varens Id.
     */
    public void fjernVare(int vareId)
    {
        varer.remove(vareId);
    }
}
